package com.hup.joystick.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.hup.utils.commons.io.BaseConfig;
import com.hup.utils.swing.model.BaseWindowConfig;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;

/**
 * 主界面配置
 * @author hugan
 * @date 2020/10/29
 */
@Data
public class MainConfig implements BaseConfig<MainConfig> {

    public BaseWindowConfig windowConfig = new BaseWindowConfig();

    /**
     * 配置记录:记录配置的顺序和是否启用
     */
    public ArrayList<FunctionRecord> lstFunctionRecord = new ArrayList<>();

    /**
     * 实际业务逻辑使用的功能数据
     * .有序的
     * .FunctionConfig.lstApp已标准化程序路径
     */
    @JSONField(serialize = false)
    public ArrayList<FunctionConfig> lstFunction = new ArrayList<>();

    @Data
    @NoArgsConstructor
    public static class FunctionRecord {
        public boolean enable = true;
        /**
         * 配置名
         */
        public String name;

        public FunctionRecord(String name) {
            this.name = name;
        }
    }

}
